﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics.Contracts;

namespace FoundationLib.Common.Calendar
{
	/// <summary>
	/// A formatter for week of year instances.
	/// </summary>
	[ContractClass(typeof(WeekOfYearFormatterContract))]
	public abstract class WeekOfYearFormatter
	{
		/// <summary>
		/// Returns a formatted string representing the given week of year.
		/// </summary>
		/// <param name="value">The week of year value</param>
		/// <returns>A formatted string</returns>
		public abstract string Format(WeekOfYear value);
	}
}
